package cn.com.platform.entity;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import cn.com.easy.persistence.BaseEntity;
import cn.com.easy.utils.JacksonJsonDateSerializer;

/**
 * 广告实体
 * 
 * @author nibili 2016年8月19日
 * 
 */
@Entity
@Table(name = "pf_adv_item")
@DynamicInsert
@DynamicUpdate
public class AdvertItemEntity extends BaseEntity {

	private static final long serialVersionUID = -427936114073783783L;
	/** 广告位id */
	private Long advId;
	/** 广告图片 */
	private String photo;
	/** 省份id */
	@Transient
	private Long provinceId;
	/** 城市id */
	private Long cityId;
	/** 广告被点击次数 */
	private int clicks;
	/** 是否关闭 */
	private boolean closed = true;
	/** 广告描述 */
	private String description;
	/** 广告跳转链接 */
	private String link;
	/** 广告排序 */
	private int orderby;
	/** 开始有效时间 */
	private Date startTime;
	/** 线束时间 */
	private Date endTime;
	/** 新窗口打开:_blank,当前页打开:_self */
	private String target;
	/** 标题 */
	private String title;
	/** 是否默认广告 */
	private boolean isDefault = false;
	/** 审核状态 1通过 0未审核 */
	private boolean audit = false;

	/**
	 * get 广告描述
	 * 
	 * @return
	 * @author nibili 2017年6月8日
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * set 广告描述
	 * 
	 * @param description
	 * @author nibili 2017年6月8日
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * get 广告位id
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public Long getAdvId() {
		return advId;
	}

	/**
	 * set 广告位id
	 * 
	 * @param advId
	 * @author nibili 2016年8月19日
	 */
	public void setAdvId(Long advId) {
		this.advId = advId;
	}

	/**
	 * get 广告图片id
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public String getPhoto() {
		return photo;
	}

	/**
	 * set 广告图片id
	 * 
	 * @param photo
	 * @author nibili 2016年8月19日
	 */
	public void setPhoto(String photo) {
		this.photo = photo;
	}

	/**
	 * get 城市id
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public Long getCityId() {
		return cityId;
	}

	/**
	 * set 城市id
	 * 
	 * @param cityId
	 * @author nibili 2016年8月19日
	 */
	public void setCityId(Long cityId) {
		this.cityId = cityId;
	}

	/**
	 * get 广告被点击次数
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public int getClicks() {
		return clicks;
	}

	/**
	 * set 广告被点击次数
	 * 
	 * @param clicks
	 * @author nibili 2016年8月19日
	 */
	public void setClicks(int clicks) {
		this.clicks = clicks;
	}

	/**
	 * get 是否关闭
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public boolean isClosed() {
		return closed;
	}

	/**
	 * set 是否关闭
	 * 
	 * @param closed
	 * @author nibili 2016年8月19日
	 */
	public void setClosed(boolean closed) {
		this.closed = closed;
	}

	/**
	 * get 广告跳转链接
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public String getLink() {
		return link;
	}

	/**
	 * set 广告跳转链接
	 * 
	 * @param link
	 * @author nibili 2016年8月19日
	 */
	public void setLink(String link) {
		this.link = link;
	}

	/**
	 * get 广告排序
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public int getOrderby() {
		return orderby;
	}

	/**
	 * set 广告排序
	 * 
	 * @param orderby
	 * @author nibili 2016年8月19日
	 */
	public void setOrderby(int orderby) {
		this.orderby = orderby;
	}

	/**
	 * get 开始有效时间
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	@JsonSerialize(using = JacksonJsonDateSerializer.class)
	public Date getStartTime() {
		return startTime;
	}

	/**
	 * set 开始有效时间
	 * 
	 * @param startTime
	 * @author nibili 2016年8月19日
	 */
	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	/**
	 * get 线束时间
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	@JsonSerialize(using = JacksonJsonDateSerializer.class)
	public Date getEndTime() {
		return endTime;
	}

	/**
	 * set 线束时间
	 * 
	 * @param endTime
	 * @author nibili 2016年8月19日
	 */
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	/**
	 * get 新窗口打开:_blank当前页打开:_self
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public String getTarget() {
		return target;
	}

	/**
	 * set 新窗口打开:_blank当前页打开:_self
	 * 
	 * @param target
	 * @author nibili 2016年8月19日
	 */
	public void setTarget(String target) {
		this.target = target;
	}

	/**
	 * get 标题
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public String getTitle() {
		return title;
	}

	/**
	 * set 标题
	 * 
	 * @param title
	 * @author nibili 2016年8月19日
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * get isDefault
	 * 
	 * @return
	 * @author nibili 2016年8月19日
	 */
	public boolean getIsDefault() {
		return isDefault;
	}

	/**
	 * set isDefault
	 * 
	 * @param isDefault
	 * @author nibili 2016年8月19日
	 */
	public void setIsDefault(boolean isDefault) {
		this.isDefault = isDefault;
	}

	/**
	 * get audit
	 * 
	 * @return
	 * @author nibili 2016年9月26日
	 */
	public boolean getAudit() {
		return audit;
	}

	/**
	 * set audit
	 * 
	 * @param audit
	 * @author nibili 2016年9月26日
	 */
	public void setAudit(boolean audit) {
		this.audit = audit;
	}

	/***
	 * get ProvinceId
	 * 
	 * @return
	 * @author chenbinghuang 2017年6月16日
	 */
	public Long getProvinceId() {
		return provinceId;
	}

	/***
	 * set ProvinceId
	 * 
	 * @param provinceId
	 * @author chenbinghuang 2017年6月16日
	 */
	public void setProvinceId(Long provinceId) {
		this.provinceId = provinceId;
	}

}